bcm-specs

[Specification

/!\ AGC probably stands for Automatic Gain Control. (GPHY Version)

  1. If the PHY Revision is 1, the InternalLookupTable used is 0x4C00, otherwise 0

    1. Write 0xFE to the InternalLookupTable, offset 0

    2. Write 0x0D to the InternalLookupTable, offset 1

    3. Write 0x13 to the InternalLookupTable, offset 2

    4. Write 0x19 to the InternalLookupTable, offset 3

  2. If the PHY Revision is 1
    1. Write 0x2710 to InternalLookupTable 0x1800, offset 0

    2. Write 0x9B83 to InternalLookupTable 0x1800, offset 1

    3. Write 0x9B83 to InternalLookupTable 0x1800, offset 2

    4. Write 0x0F8D to InternalLookupTable 0x1800, offset 3

    5. Write 4 to PHYRegister 0x455

  3. MaskSet PHYRegister 0x4A5 with mask 0x00FF and set 0x5700

  4. MaskSet PHYRegister 0x41A with mask 0xFF80 and set 0x000F

  5. MaskSet PHYRegister 0x41A with mask 0xC07F and set 0x2B80

  6. MaskSet PHYRegister 0x48C with mask 0xF0FF and set 0x300

  7. Set bit 0x0008 in RadioRegister 0x7A

  8. MaskSet PHYRegister 0x4A0 with mask 0xFFF0 and set 0x8

  9. MaskSet PHYRegister 0x4A1 with mask 0xF0FF and set 0x600

  10. MaskSet PHYRegister 0x4A2 with mask 0xF0FF and set 0x700

  11. MaskSet PHYRegister 0x4A0 with mask 0xF0FF and set 0x100

  12. If the PHY Revision is 1
    1. MaskSet PHYRegister 0x4A2 with mask 0xFFF0 and set 0x7

  13. MaskSet PHYRegister 0x488 with mask 0xFF00 and set 0x1C

  14. MaskSet PHYRegister 0x488 with mask 0xC0FF and set 0x200

  15. MaskSet PHYRegister 0x496 with mask 0xFF00 and set 0x1C

  16. MaskSet PHYRegister 0x489 with mask 0xFF00 and set 0x20

  17. MaskSet PHYRegister 0x489 with mask 0xC0FF and set 0x200

  18. MaskSet PHYRegister 0x482 with mask 0xFF00 and set 0x2E

  19. MaskSet PHYRegister 0x496 with mask 0x00FF and set 0x1A00

  20. MaskSet PHYRegister 0x481 with mask 0xFF00 and set 0x28

  21. MaskSet PHYRegister 0x481 with mask 0x00FF and set 0x2C00

  22. If the PHY Revision is 1
    1. Write 0x92B to PHYRegister 0x430

    2. MaskSet PHYRegister 0x41B with mask 0xFFE1 and set 0x2

  23. Otherwise
    1. Mask PHYRegister 0x41B with 0xFFE1

    2. Set PHYRegister 0x41F to 0x287A

    3. MaskSet PHYRegister 0x420 with mask 0xFFF0 and set 0x4

  24. if the PHY Revision is bigger than 5
    1. Set PHYRegister 0x422 to 0x287A

    2. MaskSet PHYRegister 0x420 with mask 0x0FFF and set 0x3000

  25. MaskSet PHYRegister 0x4A8 with mask 0x8080 and set 0x7874

  26. Write 0x1C00 to PHYRegister 0x48E

  27. If the PHY Revision is 1
    1. MaskSet PHYRegister 0x4AB with mask 0xF0FF and set 0x0600

    2. Write 0x5E to PHYRegister 0x48B

    3. MaskSet PHYRegister 0x48C with mask 0xFF00 and set 0x001E

    4. Write 0x2 to PHYRegister 0x48D

  28. If the PHY Revision is 1, the InternalLookupTable used is 0x5400, otherwise 0x800

    1. Write 0x00 to the InternalLookupTable, offset 0

    2. Write 0x07 to the InternalLookupTable, offset 1

    3. Write 0x10 to the InternalLookupTable, offset 2

    4. Write 0x1C to the InternalLookupTable, offset 3

  29. If the PHY Revision is 6 or greater
    1. Mask PHYRegister 0x426 with mask 0xFFFC

    2. Mask PHYRegister 0x426 with mask 0xEFFF


Exported/Archived from the wiki to HTML on 2016-10-27